<?php
require_once 'plugin/SessionPlugin.php';
require_once 'plugin/UsersDBPlugin.php';


/**
 * Loguea un usuario en la DB
 *
 */
class LoginPlugin {

	
	/**
	 * Chequea que exista el usuario
	 */
	public static function existUser($username, $password) {

		return UsersDBPlugin::existUser($username, $password);
	}
	
	
	/**
	 * Loguea el usuario (lo busca en la DB)
	 */
	public static function login($username, $password) {
		require('conf/configuration.php');
		$user = UsersDBPlugin::existUserMatchPassword($username, $password);
		if ($user != null) {
			SessionPlugin::setSessionValue($username, 'username'.$appname, 'login'.$appname);
			SessionPlugin::setSessionValue($user[rol], 'rol'.$appname, 'login'.$appname);
			SessionPlugin::setExpirationSeconds('login'.$appname, $expirationSeconds);
			return true; 
		} else {
			return false;
		}
	}
	

	/**
	 * Chequea si el usuario ya esta logueado (session var seteada)
	 */
	public static function isLogged() {
		require('conf/configuration.php');
		if ((SessionPlugin::getSessionValue('username'.$appname, 'login'.$appname) != null) && (SessionPlugin::getSessionValue('username'.$appname, 'login'.$appname) != '')) {
			SessionPlugin::setExpirationSeconds('login'.$appname, $expirationSeconds);
			return true;
		} else
			return false;
	}
	
	
	/**
	 * Logout del usuario
	 */
	public static function logout() {
		require('conf/configuration.php');
		if (SessionPlugin::getSessionValue('username'.$appname, 'login'.$appname) != null) {
			SessionPlugin::setSessionValue('', 'username'.$appname, 'login'.$appname);
		}
		SessionPlugin::setExpirationSeconds('login'.$appname, 1);
	}
	
	
	/**
	 * Chequea si el usuario ya esta logueado (session var seteada) y retorna el username
	 */
	public static function getUsername() {
		require('conf/configuration.php');
		return SessionPlugin::getSessionValue('username'.$appname, 'login'.$appname);
	}
	
	/**
	 * Chequea si el usuario ya esta logueado (session var seteada) y retorna el rol
	 */
	public static function getRol() {
		require('conf/configuration.php');
		return SessionPlugin::getSessionValue('rol'.$appname, 'login'.$appname);
	}
	
}
?>